$(function () {
  var all_url = 'http://api20.scsj.net.cn'
  // 手机号码正则
  var phoneReg = /^1[3|4|5|7|8][0-9]{9}$/
  // 姓名正则
  var nameReg = /^[\u4e00-\u9fa5a-zA-Z]+$/
  // 6—12位密码正则
  var pwReg = /[A-Za-z0-9]{6,20}/
  var num = 90,timer
  $.toast.prototype.defaults.duration = 800
  var token = $.cookie('token')

  // 获取url中code值
  function getUrlParams (name) {
    var search = document.location.search
    var pattern = new RegExp('[?&]' + name + '\=([^&]+)', 'g')
    var matcher = pattern.exec(search)
    var items = null
    if (null != matcher) {
      try {
        items = decodeURIComponent(decodeURIComponent(matcher[1]))
      } catch (e) {
        try {
          items = decodeURIComponent(matcher[1])
        } catch (e) {
          items = matcher[1]
        }
      }
    }
    return items
  }
  var code = getUrlParams('code')

  // 判断url是否存在code值
  if (code) {
    $('#invitationCode').val(code);
    $('#invitationCode').attr('disabled', true)
    $.cookie('token', null, {
      path: '/',
      expires: -1
    })
    $.cookie('userId', null, {
      path: '/',
      expires: -1
    })
  } else {
    $('#invitationCode').attr('disabled', false);
    // token判断
    if (token) {
      $.ajax({
        url: all_url + '/user/getUserDetail.do',
        type: 'post',
        dataType: 'json',
        data: {
          tocken: token
        },
        success: function (data) {
          if (data.code == 200) {
            location.href = '../templates/personal.html'
          } else if (data.code == 408 || data.code == 402) {
            $.cookie('token', null, {
              path: '/',
              expires: -1
            })
            $.cookie('userId', null, {
              path: '/',
              expires: -1
            })
          }
        }
      })
    }
  }
  // 去掉用户输入的空格或者横线
  String.prototype.NoSpace = function() {
    return this.replace(/[\s|-]+/g, "");
  }
  $("#telephone").change(function(){
    var val = $("#telephone").val().NoSpace();
    $("#telephone").val(val);
    console.log($("#telephone").val().NoSpace());
  })
  // 短信状态恢复
  function smsState () {
    $('#codeBtn').css('backgroundColor', '#ebb81c')
    $('#codeBtn').attr('disabled', false)
    $('#codeBtn').val('获取验证码')
    // 清除定时器
    clearInterval(timer)
    num = 90
  }
  // 发送验证码
  $('#codeBtn').click(function () {
    if ($('#telephone').val() == '') {
      $.toast('请输入手机号码', 'text')
      return false;
    } else if (!phoneReg.test($('#telephone').val())) {
      $.toast('手机号格式错误', 'text')
      return false;
    } else {
      $.ajax({
        type: 'post',
        url: all_url + '/checkphone.do',
        data: {
          phone: $('#telephone').val()
        },
        success: function (data) {
          if (data.code == 203) {
            $.toast('该手机号码已注册', 'text')
            return
          } else {
            $('#codeBtn').css('backgroundColor', '#999')
            $('#codeBtn').attr('disabled', true)
            $('#codeBtn').val('90秒后再次发送')
            timer = setInterval(function () {
              num--
              $('#codeBtn').val(num + '秒后再次发送')
              if (num < 1) {
                smsState()
              }
            }, 1000)

            // 获取短信验证码
            var smData = {
              phone: $('#telephone').val()
            }

            $.ajax({
              type: 'post',
              url: all_url + '/sms/smsRequestLog.do',
              dataType: 'json',
              data: smData,
              success: function (data) {
                if (data.code == 200) {
                  $.toast('已发送', 'text')
                } else {
                  $.toast('发送失败', 'text')
                }
              },
              error: function (data) {
                $.toast('短信发送错误', 'cancel')
              }
            })
          }
        }
      })
    }
  })

  // 注册数据请求
  function submit () {
    var username = $('#telephone').val()
    var code = $('#captaha').val()
    var password = $('#password').val()
    var name = $('#name').val()
    var inviteCode = $('#invitationCode').val()
    var checked = $("input[type='checkbox']").prop('checked')
    if (username == '' || code == '' || password == '' || name == '' || inviteCode == '') {
      $.toast('请将信息填写完整', 'text')
      return
    } else if (!phoneReg.test(username)) {
      $.toast('手机号码格式错误', 'text')
      return
    } else if (!pwReg.test(password)) {
      $.toast('密码格式错误', 'text')
      return
    } else if (!nameReg.test(name)) {
      $.toast('请填写真实姓名', 'text')
      return
    } else if (!checked) {
      $.toast('未同意条款，无法注册', 'text')
      return
    }
    // 请求参数
    var subData = {
      username: username,
      password: password,
      code: code,
      inviteCode: inviteCode,
      name: name
    }

    $.ajax({
      url: all_url + '/user/userLanding.do',
      type: 'post',
      dataType: 'json',
      data: subData,
      success: function (data) {
        var xhrCode = data.code
        // 状态码返回信息
        switch (xhrCode) {
          case 200:
            $.toast('注册成功', function () {
              location.href = '../index.html'
            })
            break;
          case 403:
            $.toast('该用户已注册', 'text')
            break;
          case 606:
            $.toast('邀请码有误', 'text')
            break;
          case 607:
            $.toast('请输入邀请码', 'text')
            break;
          case 104:
            $.toast('短信验证码错误', 'text')
            break;
          default:
            $.toast(data.message, 'text')
            break;
        }
      },
      error: function (data) {
        // console.log(data)
        $.toast('注册出错稍后再试', 'cancel')
      }
    })
  }
  // 点击注册
  $('#btn').click(function () {
    submit()
  })
  // 点击查看条款
  $('#item').click(function () {
    $('.artical').show()
  })
  // 点击条款右上角关闭
  $('#back').click(function () {
    $('.artical').hide()
  })
})
